Skip to content

feat: wire network-dashboard-platform + multi-jurisdiction setup-c - #94

Merged
AquiGorka merged 4 commits into
mainfrom
feat/wire-network-dashboard-platform
May 21, 2026
Merged

feat: wire network-dashboard-platform + multi-jurisdiction setup-c#94
AquiGorka merged 4 commits into
mainfrom
feat/wire-network-dashboard-platform

Conversation

@AquiGorka

Copy link
Copy Markdown
Contributor

Summary

Local-dev wiring so the full v2 network-dashboard stack comes up via ./up.sh and a multi-jurisdiction council can be created with one env var.

What ships

  • infra-up.sh — new section 8/12 boots network-dashboard-platform on port 3035 (no migrations, in-memory state). The dashboard frontend (already on 3040) connects to it.
  • setup-c.tsJURISDICTION now accepts a comma-separated list (e.g. JURISDICTION=US,UY,GB). Single-value form keeps working unchanged. Used for testing the world-map multi-jurisdiction highlighting.
  • network-dashboard-demo.{ts,sh} — bounded randomized driver. Picks a random plan of create-council / join-pp / remove-pp / send-tx operations and executes them in sequence. Finite, not a continuous loop.

Commits

  1. feat(infra-up): boot network-dashboard-platform on port 3035
  2. feat(setup-c): JURISDICTION env supports comma-separated codes
  3. feat(demo): bounded randomized network-dashboard driver
  4. chore(demo): shell wrapper + executable bit

Test plan

  • bash -n infra-up.sh down.sh verify-deploy.sh — syntax OK
  • deno fmt --check clean on touched files
  • deno check setup-c.ts network-dashboard-demo.ts clean
  • Smoke: ./down.sh && ./up.sh boots all 12 services including network-dashboard-platform on 3035
  • JURISDICTION=US,UY,GB deno run -A setup-c.ts creates a multi-jurisdiction council
  • ./network-dashboard-demo.sh runs to completion, driving live activity on the dashboard

No version field in this repo's deno.json, so no version bump.

Awaiting PM review + merge.

AquiGorka added 4 commits May 19, 2026 11:13
…eploy

New section 8/12 in infra-up.sh on port 3035, mirroring the council-
platform pattern minus migrations (the service is in-memory only).
network-dashboard frontend config block now points at the new WS at
ws://localhost:3035 via networkDashboardPlatformUrl.

down.sh tears down the new service alongside the others; verify-deploy.sh
gains 2 rows for the dashboard-api*.moonlightprotocol.io endpoints.
The network-dashboard-platform backend now self-fetches the accepted
Channel Auth WASM hash set from soroban-core's GitHub releases at boot
and on each hourly resync, so the local-dev injection is redundant and
out of step with how the deployed envs work. Drops the shasum step + the
env-var write from the section-8 .env block.
…setup-c

network-dashboard-demo.ts drives a bounded, randomized sequence of
create / join / remove / tx actions against a running stack so the
dashboard at :3040 paints continuous activity for screen-record /
review sessions. Each action shells out to setup-c.ts / setup-pp.ts /
send-loop.ts (or calls removeProvider() directly via lib/admin.ts)
with ephemeral keypairs. Tx cycles split between a random demo PP and
the canonical PP from .local-dev-state (provider-console's operator)
per a tunable DEMO_CANONICAL_TX_RATIO; the rest route through demo PPs
so multiple council edges light up.

setup-c.ts gains a JURISDICTION env override (defaults to 'US' — same
as before) so the demo can vary jurisdictions across freshly-created
councils. §5 World Map pins now spread instead of clustering on the US.

deno.lock refreshed by the demo's lib/admin.ts import.
Splits JURISDICTION on commas and POSTs each country code individually
so a single council can declare multi-jurisdictional reach in one run.
Default stays 'US' so existing single-code callers keep working.
@AquiGorka
AquiGorka merged commit 2cb6c30 into main May 21, 2026
7 checks passed
@AquiGorka
AquiGorka deleted the feat/wire-network-dashboard-platform branch May 21, 2026 13:36
AquiGorka added a commit that referenced this pull request May 26, 2026
…form (#99)

## Summary

- `deno.json`: adds `fmt.exclude=["**/*.md"]`. Stops `deno fmt` from
rewriting markdown line wraps (kept fighting authored prose layout;
renderers don't care). Code formatting unchanged.
- `README.md`: updates four spots that were stale on
`network-dashboard-platform` (wired by #94 but README never updated):
  - Repo tree adds `network-dashboard-platform/`.
  - Override-block example adds `NETWORK_DASHBOARD_PLATFORM_PORT=3135`.
- `up.sh` section list: `12 → 13` sections, new step 8 for
`network-dashboard-platform` on `:3035`, downstream steps renumber.
- `verify-deploy.sh` description: probe count `14 → 16`, service list
includes `network-dashboard-platform`.

## Test plan

- [x] `deno fmt --check` ignores markdown (pre-existing `.ts` drift in
`recording/playwright/` remains; out of scope here).
- [x] `deno lint` unchanged (pre-existing warnings unrelated).
- [x] No behavioural changes — docs + fmt config only.
pselle added a commit that referenced this pull request Jul 5, 2026
## Summary
- `setup-c.sh`/`setup-pp.sh` moved to multi-council/multi-PP (3
councils, 12 PPs) in #94, but `setup-pay.ts` was never updated and still
required the old singular `COUNCIL_ID`/`CHANNEL_ID`/`PP_PK` keys, which
no longer exist in `.local-dev-state`
- `setup-pay.sh` failed at step 1 for anyone following the README's
documented setup order
- `loadState()` now reads `COUNCIL_COUNT` and loops `COUNCIL_<i>_*`,
mirroring the pattern already used in `setup-pp.ts`
- Council creation loops over all councils, `POST /admin/councils` once
per council with its own name/channel-auth ID/privacy-channel
ID/jurisdictions (previously a stale hardcoded
`["US","UY","BR","AR","FR"]` jurisdiction list)
- Dropped the now-nonexistent `PP_PK` state requirement (PP data was
never sent in the request body — it's fetched live from council-platform
per the existing comment)

## Test plan
- [x] Ran `./setup-pay.sh` against a live local stack (`up.sh` →
`setup-c.sh` → `setup-pp.sh`) — all 3 councils created successfully via
`POST /admin/councils`
- [x] `deno check setup-pay.ts` — confirmed the one pre-existing TS
warning (`PAY_ADMIN_SK` possibly-undefined) predates this change and is
unrelated

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant